#ifndef __WHIMSY_PROPERTY_FORWARDDECLARE_HPP__SHANHAOBO_19800429__
#define __WHIMSY_PROPERTY_FORWARDDECLARE_HPP__SHANHAOBO_19800429__

#include "../Config/WhimsyDataType.hpp"

namespace Whms
{
    namespace Property
    {
        namespace Base
        {
            namespace Int8
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Int8::Type);
            } /// end of namespace Int8

            namespace Int16
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Int16::Type);
            } /// end of namespace Int16

            namespace Int32
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Int32::Type);
            } /// end of namespace Int32

            namespace Int64
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Int64::Type);
            } /// end of namespace Int64

            namespace UInt8
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::UInt8::Type);
            } /// end of namespace UInt8

            namespace UInt16
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::UInt16::Type);
            } /// end of namespace UInt16

            namespace UInt32
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::UInt32::Type);
            } /// end of namespace UInt

            namespace UInt64
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::UInt64::Type);
            } /// end of namespace UInt64

            namespace Real32
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Real32::Type);
            } /// end of namespace Real32

            namespace Real64
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Real64::Type);
            } /// end of namespace Real64

            namespace Vec2
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Vec2::Type);
            } ///  end of namespace Vec2

            namespace Vec3
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Vec3::Type);
            } ///  end of namespace Vec3

            namespace Vec4
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::Vec4::Type);
            } ///  end of namespace Vec4

            namespace IntVec2
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::IntVec2::Type);
            } ///  end of namespace IntVec2

            namespace IntVec3
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::IntVec3::Type);
            } ///  end of namespace IntVec3

            namespace IntVec4
            {
                struct Type;
                WIZ_DECLARE(::Whms::Property::Base::IntVec4::Type);
            } ///  end of namespace IntVec4
        } /// end of namespace Base
    } /// end of namespace Property
} /// end of namespace Whms

#endif /*__WHIMSY_PROPERTY_FORWARDDECLARE_HPP__SHANHAOBO_19800429__*/
